data = [9, 15, 31, -4, 0, 94, -25, 16, 27]



def Insert_Sort(data: list):
    L = len(data)
    for i in range(1, L):
        print("-> i = {}".format(i))
        tmp = data[i]   # 用tmp代替需插入数据data[i]
        pos = i-1   # 用pos指示插入位置
        while pos >= 0 and tmp < data[pos]:
            # 插入位置正常 且 需插入数据比插入位置更小
            data[pos+1] = data[pos]   # 把所有元素往后推一个位置，并挤掉原有需插入数据
            pos -= 1    # 插入位置回退
        # 此时有 需插入数据 > 当前数据 执行插入
        print("pos = {}".format(pos))
        print('list = ',data)
        data[pos+1] = tmp  # 最小的元素放到第一个位置

Insert_Sort(data)
print(data)